layui.use(['table','layer','form', 'layedit','jquery'], function(){
    var table = layui.table
        ,layer = layui.layer
        ,form = layui.form
        ,$ = layui.jquery
        ,element = layui.element;

    var checkStatus ="";//获取到的选中行数据
    //var body = "";//
    var allDataLength = 0;//table中加载得数据总长度

    //监听复选框选择事件
    table.on('checkbox(item_table)', function(obj){
        var checked = obj.checked//当前是否选中状态
            ,checkeddata = obj.data//选中行的相关数据
            ,checkedRowNums = getCheckedDatas().length//选中数据条数
            ,type = obj.type;//如果触发的是全选，则为：all，如果触发的是单选，则为：one
        console.log("选中数据条数="+checkedRowNums);

        //全选状态下--->只解禁删除按钮
        if(checkedRowNums==allDataLength){
            $("#delete_id").removeClass("layui-btn-disabled");
            $("#delete_id").attr("disabled",false);
        }
        //非全选 但是 多选状态下--->同时解禁删除/修改按钮
        if(checkedRowNums>=1 && checkedRowNums<allDataLength){
            //解禁删除按钮
            $("#delete_id").removeClass("layui-btn-disabled");
            $("#delete_id").attr("disabled",false);
            //禁掉修改按钮
            $("#update_id").addClass("layui-btn-disabled");
            $("#update_id").attr("disabled",true);
        }
        //单选状态下--->同时解禁删除/修改按钮
        if(checkedRowNums==1){
            $("#update_id,#delete_id").removeClass("layui-btn-disabled");
            $("#update_id,#delete_id").attr("disabled",false);
        }
        //未选中状态下--->同时禁掉删除/修改按钮
        if(checkedRowNums==0){
            $("#update_id,#delete_id").addClass("layui-btn-disabled");
            $("#update_id,#delete_id").attr("disabled",true);
        }
    });

    //获取选中行数据
    function getCheckedDatas(){
        return layui.table.checkStatus('item_table').data;
    }

    //数组解析器1491
    function arrayResolver(arr){
        var data = "";
        $.each(arr,function(n,value) {
            data = value;
        });
        return data;
    }


    //给表单赋值
    function setDicItemFormValues(body,data){
        //alert("body1=",body);
        console.log('---',2);
       //解析data
        var res = arrayResolver(data)
            ,itemid = res.item_id
            ,dicid = res.dic_id
            ,itemvalue = res.item_value
            ,itemname = res.item_name
            ,itemsortvalue = res.item_sort_value
            ,isfixed = res.isfixed
            ,remark = res.remark;
        console.log("itemid",itemid);
        console.log("dicid",dicid);
        console.log("itemvalue",itemvalue);
        console.log("itemname",itemname);
        console.log("itemsortvalue",itemsortvalue);
        console.log("isfixed",isfixed);
        body.find("#item_id").val(res.item_id);
        body.find("#dicid_id").val(res.dicid_id);
        body.find("#itemvalue_id").val(res.itemvalue_id);
        /*if(itemid!=null){
            body.find("#item_id").val(res.item_id);
        }
        if(dicid!=null){
            body.find("#dicid_id").val(res.dicid_id);
        }
        if(itemvalue!=null){
            body.find("#itemvalue_id").val(res.itemvalue_id);
        }
        if(itemname!=null){
            body.find("#itemname_id").val(res.itemname_id);
        }
        if(itemsortvalue!=null){
            body.find("#itemsortvalue_id").val(res.itemsortvalue_id);
        }
        if(isfixed!=null){
            body.find("#isfixed_id").val(res.isfixed_id);
        }
        if(remark!=null){
            body.find("#remark_id").val(res.remark_id);
        }*/


    }
/* $.ajax({
            url:url,
            type:'GET',
            async:true,
            data:{
                itemId:itemId,
                dicId:dicId,
                itemValue:itemValue,
                itemName:itemName,
                itemSortValue:itemSortValue,
                isfixed:isfixed,
                remark:remark
            },
            timeout:5000,    //超时时间
            dataType:'json', //返回的数据格式：json/xml/html/script/jsonp/text
            success:function(res){
                layer.msg("新增字典类型成功！");
                return true;
            },
        });*/

    table.render({
        elem: '#item_table'
        ,url:'../dictionaryItem/findDictionaryItemById.json?dicId='+38
        /*,where:{
            dicId:dicId
        }*/
        ,toolbar: '#tableBar'
        ,response: {
            statusName: 'code'
            ,statusCode: '100012'
            ,msgName: 'msg'
            ,countName: 'total'
            ,dataName: 'data'
        }
        ,title: '字典详情'
        ,cols: [[
            {type: 'checkbox', fixed: 'left'}
            ,{field:'item_id', title:'序号',fixed: 'left', unresize: true, sort: true}
            ,{field:'dic_id', title:'类型ID'}
            ,{field:'item_value', title:'字典值', sort: true}
            ,{field:'item_name', title:'字典名称'}
            ,{field:'item_sort_value', title:'排序权'}
            ,{field:'isfixed', title:'是否固定', sort: true}
            ,{field:'remark', title:'备注'}
            ,{fixed:'right', title:'操作', toolbar: '#rowBar'}
        ]]
        ,page: true
        ,done: function(res, curr, count){
            allDataLength = count;//给变量赋值，保存表格初始数据总长度
            //如果是异步请求数据方式，res即为你接口返回的信息。
            //如果是直接赋值的方式，res即为：{data: [], count: 99} data为当前页数据、count为数据总长度
            console.log(res);

            //得到当前页码
            console.log(curr);

            //得到数据总量
            console.log("数据长度="+count);
        }
    });


    //头工具栏事件
    table.on('toolbar(item_table)', function(obj){
        //选中行数据设置为全局变量
        checkStatus = table.checkStatus(obj.config.id);
        switch(obj.event){
            case 'add':
                var data = checkStatus.data;
                var d = getCheckedDatas();
                var title = "新增字典详情";
                openDicItemForm(null,title);
                console.log("d="+JSON.stringify(d));
                break;
            case 'edit':
                //获取被选中的原始数据
                var data = getCheckedDatas();
                console.log("data",data);
                console.log("data",JSON.stringify(data));
                //给文本框赋值
                var title = "修改字典详情";
                openDicItemForm(null,title);
                //setDicItemFormValues(body,data);

                break;
            case 'delete':
                layer.msg(checkStatus.isAll ? '全选': '未全选');
                break;
        };
    });

    //监听行工具事件
    table.on('tool(rowBar)', function(obj){
        var data = obj.data;
        if(obj.event === 'del'){
            layer.confirm('真的删除行么', function(index){
                obj.del();
                layer.close(index);
            });
        } else if(obj.event === 'edit'){

        }
    });

    //打开弹窗
    function openDicItemForm(url,title){
        layer.open({
            type: 2,
            area:['40%', '80%'],
            fixed:true,
            anim: 2,
            maxmin:false,
            scrollbar: false,
            title: title,
            content: ['/page/dictionaryItemForm.html','no'],
            btn:['确认','取消'],
            id: 'tanchuang',
            success: function(layero, index) {
                //设置body为全局变量
                body = layer.getChildFrame('body',index);
                console.log(1);
                switch (event) {
                    case 'add':
                        //给新增字典记录生成字典id
                        //url1--->新增字典类型获取当前最大字典ID接口url
                        layer.iframeAuto(index);
                        break;
                    case 'edit':
                        //获取选中行的值
                        var data = getCheckedDatas();
                        alert("data="+data);
                        setDicItemFormValues(body,data);
                        break;
                    case 'delete':
                        //修改信息的时候禁用掉dicCode输入框的blur事件
                        //给所有文本框赋值
                        alert("删除");
                        break;
                }

            },
            yes: function(index, layero){
                switch (event) {
                    case 'add_dic':
                        //添加字典类型
                        //url2--->将新增字典类型信息保存到数据的url
                        break;
                    case 'update_dic':
                        //修改后提交保存
                        //url2--->修改数据库字典类型信息的url
                        break;
                }
            }
            ,btn2: function(index, layero){
                layer.close(index);
                return false;
            }
        });

    }


    //页面加载完成设置按钮样式
    $(function(){
        var checkedData = getCheckedDatas();
        var length = checkedData.length;
        //未选中任何数据情况下按钮置灰
        if(length<=0){
            //设置按钮置灰样式
            $("#update_id,#delete_id").addClass("layui-btn-disabled");
            //设置置灰不可用状态
            $("#update_id,#delete_id").attr("disabled",true);
        }else{
            //解除按钮置灰
            $("#update_id,#delete_id").removeClass("layui-btn-disabled");
            //解除按钮不可用状态
            $("#update_id,#delete_id").removeClass(disabled);
        }
        console.log('length='+length);
        console.log("checkedData="+checkedData);
        console.log("数据类型="+typeof checkedData);

    });

});